#ifndef __ELEMENT_H__
#define __ELEMENT_H__

#include "Attr.h"
#include "StringUtil.h"


typedef struct Element {
	char* name;
	char* documentName;
	vectorList elems;
	vectorList attrs;
} Element;

void getElemChildren();

void initElement(Element* elem,int nameSize,int docNameSize);

void releaseElement(Element* doc);

int serialize(char* str);

int hydrate(char* str);

void printElements(Element* elem);

void printAttributes(Element* elem);

int getAttrValue(Element* elem,char* attName,char** value);

int getElemId(Element* elem,char** value);

// devuelve el elemento de nombre elemName que se encuentra en la lista
int getChildElement(Element* srcElem,char* elemName, Element* elem);

#endif